Multiple Worksheets এবং Workbooks এর সাথে কাজ করা

Worksheet এবং Workbook এর সাথে কাজ করা - এক্সেল ম্যাক্রো (Excel Macros) - Big Data and Analytics

381

এক্সেল ম্যাক্রো আপনাকে একাধিক Worksheet এবং Workbook এর সাথে কাজ করার সুযোগ দেয়, যার মাধ্যমে আপনি একাধিক শীটে বা একাধিক ফাইলে ডেটা প্রসেস এবং অটোমেট করতে পারেন। VBA (Visual Basic for Applications) ব্যবহার করে আপনি একাধিক শীট বা ফাইলের মধ্যে ডেটা কপি, পেস্ট, ম্যানিপুলেট এবং ফর্ম্যাট করতে পারেন।


Multiple Worksheets এর সাথে কাজ করা

একই Workbook এর মধ্যে একাধিক Worksheet এর সাথে কাজ করার জন্য আপনাকে VBA কোডের মাধ্যমে সেই শীটগুলো অ্যাক্সেস করতে হবে এবং প্রয়োজনীয় কার্যক্রম সম্পন্ন করতে হবে।

Worksheet অ্যাক্সেস এবং কাজ করা

প্রথমেই আপনাকে সঠিক Worksheet নির্বাচন করতে হবে এবং তারপর সেখানে কাজ করতে হবে। নিচে কিছু মৌলিক কাজের উদাহরণ দেওয়া হলো।

১. Worksheet Selection এবং Manipulation

Sub WorkWithMultipleSheets()
    ' শীট 1 এ ডেটা লিখতে
    Sheets("Sheet1").Range("A1").Value = "Hello, World!"
    
    ' শীট 2 থেকে ডেটা কপি করে শীট 1 এর A2 সেলে পেস্ট করতে
    Sheets("Sheet2").Range("A1").Copy
    Sheets("Sheet1").Range("A2").PasteSpecial Paste:=xlPasteValues
End Sub

ব্যাখ্যা:

  • Sheets("Sheet1"): "Sheet1" শীটটিকে সিলেক্ট এবং তার উপর কাজ করতে নির্দেশ দেয়।
  • Range("A1").Value: নির্দিষ্ট সেলের মান সেট বা রিড করা।
  • Copy and PasteSpecial: একটি শীট থেকে অন্য শীটে ডেটা কপি করা এবং শুধুমাত্র মান পেস্ট করা।

২. Loop ব্যবহার করে একাধিক Worksheet এ কাজ করা

যদি আপনি একাধিক শীটে একই কাজ করতে চান, তবে For Each Loop ব্যবহার করে সেটি অটোমেট করা যায়।

Sub LoopThroughSheets()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Sheets
        ws.Range("A1").Value = "Updated"
    Next ws
End Sub

এটি Workbook এর সব শীটে A1 সেলে "Updated" লিখবে।

৩. শীটের নাম এবং শর্ত অনুযায়ী কাজ করা

Sub ConditionalSheetWork()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Sheets
        If ws.Name = "Sales" Then
            ws.Range("B2").Value = "Sales Data"
        End If
    Next ws
End Sub

এটি শুধুমাত্র "Sales" নামে শীটে কাজ করবে এবং B2 সেলে "Sales Data" লিখবে।


Multiple Workbooks এর সাথে কাজ করা

একাধিক Workbook এর সাথে কাজ করা আরও জটিল হতে পারে, কারণ আপনাকে একাধিক ফাইল খোলার, তথ্য এক্সট্র্যাক্ট করার, বা ডেটা এক Workbook থেকে অন্য Workbook এ স্থানান্তর করার প্রয়োজন হতে পারে। VBA এর মাধ্যমে এই কাজগুলো খুব সহজেই অটোমেট করা যায়।

১. Workbook ওপেন এবং ক্লোজ করা

Sub OpenCloseWorkbook()
    ' একটি নতুন Workbook খুলুন
    Workbooks.Open "C:\path\to\your\workbook.xlsx"
    
    ' কাজ শেষে Workbook বন্ধ করুন
    Workbooks("workbook.xlsx").Close SaveChanges:=True
End Sub

ব্যাখ্যা:

  • Workbooks.Open: নির্দিষ্ট ফাইল পাথ দিয়ে একটি Workbook খুলবে।
  • Workbooks("workbook.xlsx").Close: নির্দিষ্ট Workbook বন্ধ করবে এবং পরিবর্তন সংরক্ষণ করবে।

২. এক Workbook থেকে অন্য Workbook এ ডেটা কপি করা

Sub CopyDataBetweenWorkbooks()
    ' দুটি Workbook এর কাজ
    Dim sourceWB As Workbook
    Dim targetWB As Workbook
    
    ' সেলেক্ট করা Workbook গুলি
    Set sourceWB = Workbooks.Open("C:\path\to\source.xlsx")
    Set targetWB = Workbooks.Open("C:\path\to\target.xlsx")
    
    ' Source Workbook থেকে Data কপি করে Target Workbook এ পেস্ট করা
    sourceWB.Sheets("Sheet1").Range("A1:B10").Copy
    targetWB.Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues
    
    ' কাজ শেষে Workbooks বন্ধ করা
    sourceWB.Close
    targetWB.Close SaveChanges:=True
End Sub

এটি একটি Workbook থেকে ডেটা কপি করে অন্য Workbook এ পেস্ট করবে। পরবর্তীতে উভয় Workbook বন্ধ করে দেবে।

৩. একাধিক Workbook এর মধ্যে Loop ব্যবহার করে কাজ করা

Sub LoopThroughMultipleWorkbooks()
    Dim wb As Workbook
    Dim filePath As String
    
    ' Workbook এর ফাইল পাথ সন্নিবেশ করুন
    filePath = "C:\path\to\your\folder\"
    
    ' একটি ফোল্ডারে থাকা সমস্ত Workbooks এর মধ্যে Loop করা
    fileName = Dir(filePath & "*.xlsx")
    Do While fileName <> ""
        Set wb = Workbooks.Open(filePath & fileName)
        wb.Sheets(1).Range("A1").Value = "Updated"
        wb.Close SaveChanges:=True
        fileName = Dir
    Loop
End Sub

এই কোডটি একটি নির্দিষ্ট ফোল্ডারে থাকা সব .xlsx ফাইলের মধ্যে লুপ করবে এবং তাদের প্রথম শীটে A1 সেল আপডেট করবে।


সারাংশ

Multiple Worksheets এবং Multiple Workbooks এর সাথে কাজ করার মাধ্যমে এক্সেল ম্যাক্রো ব্যবহারকারীরা বড় পরিসরে ডেটা ম্যানিপুলেশন এবং অটোমেশন করতে পারেন। VBA এর সাহায্যে একাধিক শীট বা ফাইলের মধ্যে ডেটা কপি, পেস্ট, ম্যানিপুলেট এবং ফরম্যাট করা সম্ভব। এছাড়া, Loop এবং Conditional Structures ব্যবহার করে একাধিক শীট বা ফাইলের মধ্যে একযোগে কাজ করা আরও সহজ হয়ে ওঠে। একাধিক ফাইলের সঙ্গে কাজ করার সময় সঠিকভাবে ফাইল ওপেন, ডেটা কপি এবং ফাইল ক্লোজ করার প্রক্রিয়া ম্যানেজ করা গুরুত্বপূর্ণ।

Content added By
Promotion

Are you sure to start over?

Loading...